{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 高德地图API"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "import requests\n",
    "key_cr =\"551173cc6b480702a39751e57d0dd9d2\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 地理编码"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*自然语言处理*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'count': '1',\n",
       " 'geocodes': [{'formatted_address': '广东省梅州市丰顺县万佛园',\n",
       "   'country': '中国',\n",
       "   'province': '广东省',\n",
       "   'citycode': '0753',\n",
       "   'city': '梅州市',\n",
       "   'district': '丰顺县',\n",
       "   'township': [],\n",
       "   'neighborhood': {'name': [], 'type': []},\n",
       "   'building': {'name': [], 'type': []},\n",
       "   'adcode': '441423',\n",
       "   'street': [],\n",
       "   'number': [],\n",
       "   'location': '116.175589,23.740843',\n",
       "   'level': '兴趣点'}]}"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "import pandas as pd\n",
    "def geocode(address,city=None,batch=None,sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/geocode/geo?parameters'\n",
    "    params={\n",
    "        'key': key_cr,\n",
    "        'address':address,\n",
    "        'city':city,\n",
    "        'batch':batch,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "万佛园 = geocode('广东省梅州市丰顺县汤坑镇万佛园')\n",
    "万佛园\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>formatted_address</th>\n",
       "      <th>country</th>\n",
       "      <th>province</th>\n",
       "      <th>citycode</th>\n",
       "      <th>city</th>\n",
       "      <th>district</th>\n",
       "      <th>township</th>\n",
       "      <th>adcode</th>\n",
       "      <th>street</th>\n",
       "      <th>number</th>\n",
       "      <th>location</th>\n",
       "      <th>level</th>\n",
       "      <th>neighborhood.name</th>\n",
       "      <th>neighborhood.type</th>\n",
       "      <th>building.name</th>\n",
       "      <th>building.type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广东省梅州市丰顺县万佛园</td>\n",
       "      <td>中国</td>\n",
       "      <td>广东省</td>\n",
       "      <td>0753</td>\n",
       "      <td>梅州市</td>\n",
       "      <td>丰顺县</td>\n",
       "      <td>[]</td>\n",
       "      <td>441423</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>116.175589,23.740843</td>\n",
       "      <td>兴趣点</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  formatted_address country province citycode city district township  adcode  \\\n",
       "0      广东省梅州市丰顺县万佛园      中国      广东省     0753  梅州市      丰顺县       []  441423   \n",
       "\n",
       "  street number              location level neighborhood.name  \\\n",
       "0     []     []  116.175589,23.740843   兴趣点                []   \n",
       "\n",
       "  neighborhood.type building.name building.type  \n",
       "0                []            []            []  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "万佛园地理编码: 116.175589,23.740843\n"
     ]
    }
   ],
   "source": [
    "df_万佛园地理编码 = pd.json_normalize(万佛园['geocodes'])\n",
    "display(df_万佛园地理编码)\n",
    "万佛园地理编码 = 万佛园['geocodes'][0]['location']\n",
    "print(\"万佛园地理编码:\",万佛园地理编码)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 路径规划"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*机器学习、计算机实现智能的原理*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def walking(origin,destination,sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/direction/walking?parameters'\n",
    "    params={\n",
    "        'key':key_cr,\n",
    "        'origin':origin,\n",
    "        'destination':destination,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instruction</th>\n",
       "      <th>orientation</th>\n",
       "      <th>road</th>\n",
       "      <th>distance</th>\n",
       "      <th>duration</th>\n",
       "      <th>polyline</th>\n",
       "      <th>action</th>\n",
       "      <th>assistant_action</th>\n",
       "      <th>walk_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>向东步行348米右转</td>\n",
       "      <td>东</td>\n",
       "      <td>[]</td>\n",
       "      <td>348</td>\n",
       "      <td>278</td>\n",
       "      <td>116.180516,23.742422;116.180547,23.742196;116....</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>沿市政大道向南步行248米左转</td>\n",
       "      <td>南</td>\n",
       "      <td>市政大道</td>\n",
       "      <td>248</td>\n",
       "      <td>198</td>\n",
       "      <td>116.181988,23.742552;116.182066,23.742131;116....</td>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>沿迎宾路向东步行333米左转</td>\n",
       "      <td>东</td>\n",
       "      <td>迎宾路</td>\n",
       "      <td>333</td>\n",
       "      <td>266</td>\n",
       "      <td>116.182361,23.740317;116.182431,23.740326;116....</td>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>沿广场路向东步行122米向左前方行走</td>\n",
       "      <td>东</td>\n",
       "      <td>广场路</td>\n",
       "      <td>122</td>\n",
       "      <td>98</td>\n",
       "      <td>116.185208,23.739839;116.186337,23.740004;116....</td>\n",
       "      <td>向左前方行走</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>沿广场路向东北步行259米左转</td>\n",
       "      <td>东北</td>\n",
       "      <td>广场路</td>\n",
       "      <td>259</td>\n",
       "      <td>207</td>\n",
       "      <td>116.186393,23.740013;116.186554,23.740091;116....</td>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>沿沿江路向西北步行164米左转</td>\n",
       "      <td>西北</td>\n",
       "      <td>沿江路</td>\n",
       "      <td>164</td>\n",
       "      <td>131</td>\n",
       "      <td>116.188359,23.741506;116.187335,23.742656</td>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>向西南步行24米到达目的地</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>24</td>\n",
       "      <td>19</td>\n",
       "      <td>116.187331,23.742656;116.187114,23.742569</td>\n",
       "      <td>[]</td>\n",
       "      <td>到达目的地</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          instruction orientation  road distance duration  \\\n",
       "0          向东步行348米右转           东    []      348      278   \n",
       "1     沿市政大道向南步行248米左转           南  市政大道      248      198   \n",
       "2      沿迎宾路向东步行333米左转           东   迎宾路      333      266   \n",
       "3  沿广场路向东步行122米向左前方行走           东   广场路      122       98   \n",
       "4     沿广场路向东北步行259米左转          东北   广场路      259      207   \n",
       "5     沿沿江路向西北步行164米左转          西北   沿江路      164      131   \n",
       "6       向西南步行24米到达目的地          西南    []       24       19   \n",
       "\n",
       "                                            polyline  action assistant_action  \\\n",
       "0  116.180516,23.742422;116.180547,23.742196;116....      右转               []   \n",
       "1  116.181988,23.742552;116.182066,23.742131;116....      左转               []   \n",
       "2  116.182361,23.740317;116.182431,23.740326;116....      左转               []   \n",
       "3  116.185208,23.739839;116.186337,23.740004;116....  向左前方行走               []   \n",
       "4  116.186393,23.740013;116.186554,23.740091;116....      左转               []   \n",
       "5          116.188359,23.741506;116.187335,23.742656      左转               []   \n",
       "6          116.187331,23.742656;116.187114,23.742569      []            到达目的地   \n",
       "\n",
       "  walk_type  \n",
       "0         0  \n",
       "1         0  \n",
       "2         0  \n",
       "3         0  \n",
       "4         0  \n",
       "5         0  \n",
       "6         0  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "0            向东步行348米右转\n",
       "1       沿市政大道向南步行248米左转\n",
       "2        沿迎宾路向东步行333米左转\n",
       "3    沿广场路向东步行122米向左前方行走\n",
       "4       沿广场路向东北步行259米左转\n",
       "5       沿沿江路向西北步行164米左转\n",
       "6         向西南步行24米到达目的地\n",
       "Name: instruction, dtype: object"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "丰顺中学 = geocode('广东省梅州市丰顺县汤坑镇丰顺中学')\n",
    "丰顺中学_location = 丰顺中学['geocodes'][0]['location']\n",
    "博士幼儿园= geocode('广东省梅州市丰顺县汤坑镇博士幼儿园')\n",
    "博士幼儿园_location = 博士幼儿园['geocodes'][0]['location']\n",
    "\n",
    "丰顺中学_博士幼儿园 = walking(丰顺中学_location,博士幼儿园_location)\n",
    "丰顺中学_博士幼儿园 \n",
    "\n",
    "df = pd.json_normalize(丰顺中学_博士幼儿园[\"route\"][\"paths\"][0]['steps'])\n",
    "display(df)\n",
    "df[\"instruction\"]\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 行政区域查询"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*自然语言的处理*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'count': '1',\n",
       " 'suggestion': {'keywords': [], 'cities': []},\n",
       " 'districts': [{'citycode': [],\n",
       "   'adcode': '350000',\n",
       "   'name': '福建省',\n",
       "   'center': '119.306239,26.075302',\n",
       "   'level': 'province',\n",
       "   'districts': [{'citycode': '0591',\n",
       "     'adcode': '350100',\n",
       "     'name': '福州市',\n",
       "     'center': '119.306239,26.075302',\n",
       "     'level': 'city',\n",
       "     'districts': [{'citycode': '0591',\n",
       "       'adcode': '350121',\n",
       "       'name': '闽侯县',\n",
       "       'center': '119.145117,26.148567',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0591',\n",
       "       'adcode': '350123',\n",
       "       'name': '罗源县',\n",
       "       'center': '119.552645,26.487234',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0591',\n",
       "       'adcode': '350124',\n",
       "       'name': '闽清县',\n",
       "       'center': '118.868416,26.223793',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0591',\n",
       "       'adcode': '350122',\n",
       "       'name': '连江县',\n",
       "       'center': '119.538365,26.202109',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0591',\n",
       "       'adcode': '350112',\n",
       "       'name': '长乐区',\n",
       "       'center': '119.510849,25.960583',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0591',\n",
       "       'adcode': '350181',\n",
       "       'name': '福清市',\n",
       "       'center': '119.376992,25.720402',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0591',\n",
       "       'adcode': '350125',\n",
       "       'name': '永泰县',\n",
       "       'center': '118.939089,25.864825',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0591',\n",
       "       'adcode': '350104',\n",
       "       'name': '仓山区',\n",
       "       'center': '119.320988,26.038912',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0591',\n",
       "       'adcode': '350128',\n",
       "       'name': '平潭县',\n",
       "       'center': '119.791197,25.503672',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0591',\n",
       "       'adcode': '350102',\n",
       "       'name': '鼓楼区',\n",
       "       'center': '119.29929,26.082284',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0591',\n",
       "       'adcode': '350103',\n",
       "       'name': '台江区',\n",
       "       'center': '119.310156,26.058616',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0591',\n",
       "       'adcode': '350105',\n",
       "       'name': '马尾区',\n",
       "       'center': '119.458725,25.991975',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0591',\n",
       "       'adcode': '350111',\n",
       "       'name': '晋安区',\n",
       "       'center': '119.328597,26.078837',\n",
       "       'level': 'district',\n",
       "       'districts': []}]},\n",
       "    {'citycode': '0593',\n",
       "     'adcode': '350900',\n",
       "     'name': '宁德市',\n",
       "     'center': '119.527082,26.65924',\n",
       "     'level': 'city',\n",
       "     'districts': [{'citycode': '0593',\n",
       "       'adcode': '350924',\n",
       "       'name': '寿宁县',\n",
       "       'center': '119.506733,27.457798',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0593',\n",
       "       'adcode': '350981',\n",
       "       'name': '福安市',\n",
       "       'center': '119.650798,27.084246',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0593',\n",
       "       'adcode': '350921',\n",
       "       'name': '霞浦县',\n",
       "       'center': '120.005214,26.882068',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0593',\n",
       "       'adcode': '350902',\n",
       "       'name': '蕉城区',\n",
       "       'center': '119.527225,26.659253',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0593',\n",
       "       'adcode': '350982',\n",
       "       'name': '福鼎市',\n",
       "       'center': '120.219761,27.318884',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0593',\n",
       "       'adcode': '350926',\n",
       "       'name': '柘荣县',\n",
       "       'center': '119.898226,27.236163',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0593',\n",
       "       'adcode': '350922',\n",
       "       'name': '古田县',\n",
       "       'center': '118.743156,26.577491',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0593',\n",
       "       'adcode': '350925',\n",
       "       'name': '周宁县',\n",
       "       'center': '119.338239,27.103106',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0593',\n",
       "       'adcode': '350923',\n",
       "       'name': '屏南县',\n",
       "       'center': '118.987544,26.910826',\n",
       "       'level': 'district',\n",
       "       'districts': []}]},\n",
       "    {'citycode': '0597',\n",
       "     'adcode': '350800',\n",
       "     'name': '龙岩市',\n",
       "     'center': '117.02978,25.091603',\n",
       "     'level': 'city',\n",
       "     'districts': [{'citycode': '0597',\n",
       "       'adcode': '350881',\n",
       "       'name': '漳平市',\n",
       "       'center': '117.42073,25.291597',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0597',\n",
       "       'adcode': '350824',\n",
       "       'name': '武平县',\n",
       "       'center': '116.100928,25.08865',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0597',\n",
       "       'adcode': '350823',\n",
       "       'name': '上杭县',\n",
       "       'center': '116.424774,25.050019',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0597',\n",
       "       'adcode': '350803',\n",
       "       'name': '永定区',\n",
       "       'center': '116.732691,24.720442',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0597',\n",
       "       'adcode': '350802',\n",
       "       'name': '新罗区',\n",
       "       'center': '117.030721,25.0918',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0597',\n",
       "       'adcode': '350825',\n",
       "       'name': '连城县',\n",
       "       'center': '116.756687,25.708506',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0597',\n",
       "       'adcode': '350821',\n",
       "       'name': '长汀县',\n",
       "       'center': '116.361007,25.842278',\n",
       "       'level': 'district',\n",
       "       'districts': []}]},\n",
       "    {'citycode': '0599',\n",
       "     'adcode': '350700',\n",
       "     'name': '南平市',\n",
       "     'center': '118.178459,26.635627',\n",
       "     'level': 'city',\n",
       "     'districts': [{'citycode': '0599',\n",
       "       'adcode': '350723',\n",
       "       'name': '光泽县',\n",
       "       'center': '117.337897,27.542803',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0599',\n",
       "       'adcode': '350782',\n",
       "       'name': '武夷山市',\n",
       "       'center': '118.032796,27.751733',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0599',\n",
       "       'adcode': '350725',\n",
       "       'name': '政和县',\n",
       "       'center': '118.858661,27.365398',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0599',\n",
       "       'adcode': '350722',\n",
       "       'name': '浦城县',\n",
       "       'center': '118.536822,27.920412',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0599',\n",
       "       'adcode': '350781',\n",
       "       'name': '邵武市',\n",
       "       'center': '117.491544,27.337952',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0599',\n",
       "       'adcode': '350703',\n",
       "       'name': '建阳区',\n",
       "       'center': '118.12267,27.332067',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0599',\n",
       "       'adcode': '350724',\n",
       "       'name': '松溪县',\n",
       "       'center': '118.783491,27.525785',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0599',\n",
       "       'adcode': '350783',\n",
       "       'name': '建瓯市',\n",
       "       'center': '118.321765,27.03502',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0599',\n",
       "       'adcode': '350721',\n",
       "       'name': '顺昌县',\n",
       "       'center': '117.80771,26.792851',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0599',\n",
       "       'adcode': '350702',\n",
       "       'name': '延平区',\n",
       "       'center': '118.178918,26.636079',\n",
       "       'level': 'district',\n",
       "       'districts': []}]},\n",
       "    {'citycode': '0592',\n",
       "     'adcode': '350200',\n",
       "     'name': '厦门市',\n",
       "     'center': '118.11022,24.490474',\n",
       "     'level': 'city',\n",
       "     'districts': [{'citycode': '0592',\n",
       "       'adcode': '350203',\n",
       "       'name': '思明区',\n",
       "       'center': '118.087828,24.462059',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0592',\n",
       "       'adcode': '350213',\n",
       "       'name': '翔安区',\n",
       "       'center': '118.242811,24.637479',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0592',\n",
       "       'adcode': '350206',\n",
       "       'name': '湖里区',\n",
       "       'center': '118.10943,24.512764',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0592',\n",
       "       'adcode': '350211',\n",
       "       'name': '集美区',\n",
       "       'center': '118.100869,24.572874',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0592',\n",
       "       'adcode': '350205',\n",
       "       'name': '海沧区',\n",
       "       'center': '118.036364,24.492512',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0592',\n",
       "       'adcode': '350212',\n",
       "       'name': '同安区',\n",
       "       'center': '118.150455,24.729333',\n",
       "       'level': 'district',\n",
       "       'districts': []}]},\n",
       "    {'citycode': '0596',\n",
       "     'adcode': '350600',\n",
       "     'name': '漳州市',\n",
       "     'center': '117.661801,24.510897',\n",
       "     'level': 'city',\n",
       "     'districts': [{'citycode': '0596',\n",
       "       'adcode': '350629',\n",
       "       'name': '华安县',\n",
       "       'center': '117.53631,25.001416',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0596',\n",
       "       'adcode': '350626',\n",
       "       'name': '东山县',\n",
       "       'center': '117.427679,23.702845',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0596',\n",
       "       'adcode': '350681',\n",
       "       'name': '龙海市',\n",
       "       'center': '117.817292,24.445341',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0596',\n",
       "       'adcode': '350627',\n",
       "       'name': '南靖县',\n",
       "       'center': '117.365462,24.516425',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0596',\n",
       "       'adcode': '350623',\n",
       "       'name': '漳浦县',\n",
       "       'center': '117.614023,24.117907',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0596',\n",
       "       'adcode': '350624',\n",
       "       'name': '诏安县',\n",
       "       'center': '117.176083,23.710834',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0596',\n",
       "       'adcode': '350603',\n",
       "       'name': '龙文区',\n",
       "       'center': '117.671387,24.515656',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0596',\n",
       "       'adcode': '350602',\n",
       "       'name': '芗城区',\n",
       "       'center': '117.656461,24.509955',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0596',\n",
       "       'adcode': '350622',\n",
       "       'name': '云霄县',\n",
       "       'center': '117.340946,23.950486',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0596',\n",
       "       'adcode': '350628',\n",
       "       'name': '平和县',\n",
       "       'center': '117.313549,24.366158',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0596',\n",
       "       'adcode': '350625',\n",
       "       'name': '长泰县',\n",
       "       'center': '117.755913,24.621475',\n",
       "       'level': 'district',\n",
       "       'districts': []}]},\n",
       "    {'citycode': '0594',\n",
       "     'adcode': '350300',\n",
       "     'name': '莆田市',\n",
       "     'center': '119.007558,25.431011',\n",
       "     'level': 'city',\n",
       "     'districts': [{'citycode': '0594',\n",
       "       'adcode': '350302',\n",
       "       'name': '城厢区',\n",
       "       'center': '119.001028,25.433737',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0594',\n",
       "       'adcode': '350322',\n",
       "       'name': '仙游县',\n",
       "       'center': '118.694331,25.356529',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0594',\n",
       "       'adcode': '350305',\n",
       "       'name': '秀屿区',\n",
       "       'center': '119.092607,25.316141',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0594',\n",
       "       'adcode': '350304',\n",
       "       'name': '荔城区',\n",
       "       'center': '119.020047,25.430047',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0594',\n",
       "       'adcode': '350303',\n",
       "       'name': '涵江区',\n",
       "       'center': '119.119102,25.459273',\n",
       "       'level': 'district',\n",
       "       'districts': []}]},\n",
       "    {'citycode': '0595',\n",
       "     'adcode': '350500',\n",
       "     'name': '泉州市',\n",
       "     'center': '118.589421,24.908853',\n",
       "     'level': 'city',\n",
       "     'districts': [{'citycode': '0595',\n",
       "       'adcode': '350526',\n",
       "       'name': '德化县',\n",
       "       'center': '118.242986,25.489004',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0595',\n",
       "       'adcode': '350583',\n",
       "       'name': '南安市',\n",
       "       'center': '118.387031,24.959494',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0595',\n",
       "       'adcode': '350524',\n",
       "       'name': '安溪县',\n",
       "       'center': '118.186014,25.056824',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0595',\n",
       "       'adcode': '350505',\n",
       "       'name': '泉港区',\n",
       "       'center': '118.912285,25.126859',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0595',\n",
       "       'adcode': '350525',\n",
       "       'name': '永春县',\n",
       "       'center': '118.29503,25.320721',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0595',\n",
       "       'adcode': '350504',\n",
       "       'name': '洛江区',\n",
       "       'center': '118.670312,24.941153',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0595',\n",
       "       'adcode': '350581',\n",
       "       'name': '石狮市',\n",
       "       'center': '118.628402,24.731978',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0595',\n",
       "       'adcode': '350527',\n",
       "       'name': '金门县',\n",
       "       'center': '118.323221,24.436417',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0595',\n",
       "       'adcode': '350503',\n",
       "       'name': '丰泽区',\n",
       "       'center': '118.605147,24.896041',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0595',\n",
       "       'adcode': '350521',\n",
       "       'name': '惠安县',\n",
       "       'center': '118.798954,25.028718',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0595',\n",
       "       'adcode': '350582',\n",
       "       'name': '晋江市',\n",
       "       'center': '118.577338,24.807322',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0595',\n",
       "       'adcode': '350502',\n",
       "       'name': '鲤城区',\n",
       "       'center': '118.588929,24.907645',\n",
       "       'level': 'district',\n",
       "       'districts': []}]},\n",
       "    {'citycode': '0598',\n",
       "     'adcode': '350400',\n",
       "     'name': '三明市',\n",
       "     'center': '117.635001,26.265444',\n",
       "     'level': 'city',\n",
       "     'districts': [{'citycode': '0598',\n",
       "       'adcode': '350402',\n",
       "       'name': '梅列区',\n",
       "       'center': '117.63687,26.269208',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0598',\n",
       "       'adcode': '350403',\n",
       "       'name': '三元区',\n",
       "       'center': '117.607418,26.234191',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0598',\n",
       "       'adcode': '350429',\n",
       "       'name': '泰宁县',\n",
       "       'center': '117.177522,26.897995',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0598',\n",
       "       'adcode': '350423',\n",
       "       'name': '清流县',\n",
       "       'center': '116.815821,26.17761',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0598',\n",
       "       'adcode': '350481',\n",
       "       'name': '永安市',\n",
       "       'center': '117.364447,25.974075',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0598',\n",
       "       'adcode': '350424',\n",
       "       'name': '宁化县',\n",
       "       'center': '116.659725,26.259932',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0598',\n",
       "       'adcode': '350425',\n",
       "       'name': '大田县',\n",
       "       'center': '117.849355,25.690803',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0598',\n",
       "       'adcode': '350430',\n",
       "       'name': '建宁县',\n",
       "       'center': '116.845832,26.831398',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0598',\n",
       "       'adcode': '350426',\n",
       "       'name': '尤溪县',\n",
       "       'center': '118.188577,26.169261',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0598',\n",
       "       'adcode': '350427',\n",
       "       'name': '沙县',\n",
       "       'center': '117.789095,26.397361',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0598',\n",
       "       'adcode': '350421',\n",
       "       'name': '明溪县',\n",
       "       'center': '117.201845,26.357375',\n",
       "       'level': 'district',\n",
       "       'districts': []},\n",
       "      {'citycode': '0598',\n",
       "       'adcode': '350428',\n",
       "       'name': '将乐县',\n",
       "       'center': '117.473558,26.728667',\n",
       "       'level': 'district',\n",
       "       'districts': []}]}]}]}"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def district(keywords,subdistrict=None,page=None,offset=None,extensions='base',filter=None,)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/config/district?parameters'\n",
    "    params={\n",
    "        'key':key_cr,\n",
    "        'keywords':keywords,\n",
    "        'subdistrict':subdistrict,\n",
    "        'page':page,\n",
    "        'offset':offset,\n",
    "        'extensions':extensions,\n",
    "        'filter':filter,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "\"\"\"福建省\"\"\"\n",
    "行政区域 = district(keywords='350000',extensions='base',subdistrict=2)\n",
    "行政区域"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 搜索POI"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*推荐算法、计算机实现智能的原理*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>parent</th>\n",
       "      <th>childtype</th>\n",
       "      <th>name</th>\n",
       "      <th>tag</th>\n",
       "      <th>type</th>\n",
       "      <th>typecode</th>\n",
       "      <th>biz_type</th>\n",
       "      <th>address</th>\n",
       "      <th>location</th>\n",
       "      <th>...</th>\n",
       "      <th>discount_num</th>\n",
       "      <th>event</th>\n",
       "      <th>children</th>\n",
       "      <th>photos</th>\n",
       "      <th>indoor_data.cpid</th>\n",
       "      <th>indoor_data.floor</th>\n",
       "      <th>indoor_data.truefloor</th>\n",
       "      <th>indoor_data.cmsid</th>\n",
       "      <th>biz_ext.rating</th>\n",
       "      <th>biz_ext.cost</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B02F101E61</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>嘉应学院医学院</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>黄塘路146号</td>\n",
       "      <td>116.097691,24.315166</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B0FFG7VYX4 ', 'name': ' 嘉应学院医学院(西南门)...</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B02F1042ZH</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>梅州市理工学校天子岌校区</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>东山大道学院路15号</td>\n",
       "      <td>116.131916,24.321533</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B02F10QAOI ', 'name': ' 梅州市理工学校天子岌校区...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3.0</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>B02F10QAIP</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>嘉应学院江南校区</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>三角镇富奇路128号</td>\n",
       "      <td>116.11865,24.275986</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B02F103JSK ', 'name': ' 嘉应学院江南校区(西北门...</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>B02F10RZF0</td>\n",
       "      <td>B02F1042ZH</td>\n",
       "      <td>0</td>\n",
       "      <td>梅州市理工学校尧排校区</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>学院路15号</td>\n",
       "      <td>116.133986,24.320081</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B02F10RZF2 ', 'name': ' 梅州市理工学校尧排校区(...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>B02F103G72</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>宪梓大楼</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>月梅路47号嘉应学院江北校区</td>\n",
       "      <td>116.128226,24.327611</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>B02F102O9Z</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>梅州市老干部大学</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>梅龙西路9号</td>\n",
       "      <td>116.126524,24.297283</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B0FFG7WL27 ', 'name': ' 梅州市老干部大学(南门)...</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>B0FFG6Y034</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>华浦贵金属商学院</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>梅龙东路4-4</td>\n",
       "      <td>116.131852,24.295691</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>B0FFIPTEG1</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>有信达双创学院</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>教子岌路与102乡道交叉口西100米</td>\n",
       "      <td>116.089655,24.298562</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>B0FFHK3W7K</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>梅州市行政学院</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>华南大道27号附近</td>\n",
       "      <td>116.118579,24.273659</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>B02F103G74</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>嘉应学院</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>月梅路47嘉应大学</td>\n",
       "      <td>116.132761,24.326663</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B0FFJ8VFCX ', 'name': ' 嘉应学院(北门) ', ...</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3.0</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>B0FFIB8SHG</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>梅州梅江开放大学</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>梅兴路与秋苑路交叉口东50米</td>\n",
       "      <td>116.107993,24.304784</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B0FFG852G3 ', 'name': ' 梅州梅江开放大学(西北1...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>B0FFK6SUX3</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>梅州高职学前教育专业学院</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>学院路15号</td>\n",
       "      <td>116.131901,24.321597</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>B0FFL6N5UW</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>亚体协教练培训学院(梅州校区)</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>新兴路</td>\n",
       "      <td>116.097052,24.282486</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>B02F101E59</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>平远县广播电视大学</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>大柘镇平兴路60号</td>\n",
       "      <td>115.894416,24.553109</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>B02F103G73</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>钦贞纪念楼</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>嘉应学院江北校区</td>\n",
       "      <td>116.129271,24.329264</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>B02F103G76</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>锡昌科技大楼</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>嘉应学院江北校区</td>\n",
       "      <td>116.129743,24.328380</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>B02F10QOCC</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>嘉应学院梅州师范分院</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>程江镇大新西路241号</td>\n",
       "      <td>116.090019,24.288168</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'id': ' B0FFK5BVKL ', 'name': ' 嘉应学院梅州师范分院(北...</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>B02F103JAO</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>中山大学现代远程教育梅州教学中心</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>梅松路162号附近</td>\n",
       "      <td>116.123496,24.323418</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>B0FFL0N1VL</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>广梅园微软创新学院</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>115.976880,24.003587</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>B02F103JAN</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>福建师范大学网络教育学院广东教学服务中心</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "      <td>141201</td>\n",
       "      <td>[]</td>\n",
       "      <td>梅松路162号</td>\n",
       "      <td>116.123494,24.323417</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>20 rows × 46 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            id      parent childtype                  name tag  \\\n",
       "0   B02F101E61          []        []               嘉应学院医学院  []   \n",
       "1   B02F1042ZH          []        []          梅州市理工学校天子岌校区  []   \n",
       "2   B02F10QAIP          []        []              嘉应学院江南校区  []   \n",
       "3   B02F10RZF0  B02F1042ZH         0           梅州市理工学校尧排校区  []   \n",
       "4   B02F103G72          []        []                  宪梓大楼  []   \n",
       "5   B02F102O9Z          []        []              梅州市老干部大学  []   \n",
       "6   B0FFG6Y034          []        []              华浦贵金属商学院  []   \n",
       "7   B0FFIPTEG1          []        []               有信达双创学院  []   \n",
       "8   B0FFHK3W7K          []        []               梅州市行政学院  []   \n",
       "9   B02F103G74          []        []                  嘉应学院  []   \n",
       "10  B0FFIB8SHG          []        []              梅州梅江开放大学  []   \n",
       "11  B0FFK6SUX3          []        []          梅州高职学前教育专业学院  []   \n",
       "12  B0FFL6N5UW          []        []       亚体协教练培训学院(梅州校区)  []   \n",
       "13  B02F101E59          []        []             平远县广播电视大学  []   \n",
       "14  B02F103G73          []        []                 钦贞纪念楼  []   \n",
       "15  B02F103G76          []        []                锡昌科技大楼  []   \n",
       "16  B02F10QOCC          []        []            嘉应学院梅州师范分院  []   \n",
       "17  B02F103JAO          []        []      中山大学现代远程教育梅州教学中心  []   \n",
       "18  B0FFL0N1VL          []        []             广梅园微软创新学院  []   \n",
       "19  B02F103JAN          []        []  福建师范大学网络教育学院广东教学服务中心  []   \n",
       "\n",
       "              type typecode biz_type             address  \\\n",
       "0   科教文化服务;学校;高等院校   141201       []             黄塘路146号   \n",
       "1   科教文化服务;学校;高等院校   141201       []          东山大道学院路15号   \n",
       "2   科教文化服务;学校;高等院校   141201       []          三角镇富奇路128号   \n",
       "3   科教文化服务;学校;高等院校   141201       []              学院路15号   \n",
       "4   科教文化服务;学校;高等院校   141201       []      月梅路47号嘉应学院江北校区   \n",
       "5   科教文化服务;学校;高等院校   141201       []              梅龙西路9号   \n",
       "6   科教文化服务;学校;高等院校   141201       []             梅龙东路4-4   \n",
       "7   科教文化服务;学校;高等院校   141201       []  教子岌路与102乡道交叉口西100米   \n",
       "8   科教文化服务;学校;高等院校   141201       []           华南大道27号附近   \n",
       "9   科教文化服务;学校;高等院校   141201       []           月梅路47嘉应大学   \n",
       "10  科教文化服务;学校;高等院校   141201       []      梅兴路与秋苑路交叉口东50米   \n",
       "11  科教文化服务;学校;高等院校   141201       []              学院路15号   \n",
       "12  科教文化服务;学校;高等院校   141201       []                 新兴路   \n",
       "13  科教文化服务;学校;高等院校   141201       []           大柘镇平兴路60号   \n",
       "14  科教文化服务;学校;高等院校   141201       []            嘉应学院江北校区   \n",
       "15  科教文化服务;学校;高等院校   141201       []            嘉应学院江北校区   \n",
       "16  科教文化服务;学校;高等院校   141201       []         程江镇大新西路241号   \n",
       "17  科教文化服务;学校;高等院校   141201       []           梅松路162号附近   \n",
       "18  科教文化服务;学校;高等院校   141201       []                  []   \n",
       "19  科教文化服务;学校;高等院校   141201       []             梅松路162号   \n",
       "\n",
       "                location  ... discount_num event  \\\n",
       "0   116.097691,24.315166  ...            0    []   \n",
       "1   116.131916,24.321533  ...            0    []   \n",
       "2    116.11865,24.275986  ...            0    []   \n",
       "3   116.133986,24.320081  ...            0    []   \n",
       "4   116.128226,24.327611  ...            0    []   \n",
       "5   116.126524,24.297283  ...            0    []   \n",
       "6   116.131852,24.295691  ...            0    []   \n",
       "7   116.089655,24.298562  ...            0    []   \n",
       "8   116.118579,24.273659  ...            0    []   \n",
       "9   116.132761,24.326663  ...            0    []   \n",
       "10  116.107993,24.304784  ...            0    []   \n",
       "11  116.131901,24.321597  ...            0    []   \n",
       "12  116.097052,24.282486  ...            0    []   \n",
       "13  115.894416,24.553109  ...            0    []   \n",
       "14  116.129271,24.329264  ...            0    []   \n",
       "15  116.129743,24.328380  ...            0    []   \n",
       "16  116.090019,24.288168  ...            0    []   \n",
       "17  116.123496,24.323418  ...            0    []   \n",
       "18  115.976880,24.003587  ...            0    []   \n",
       "19  116.123494,24.323417  ...            0    []   \n",
       "\n",
       "                                             children  \\\n",
       "0   [{'id': ' B0FFG7VYX4 ', 'name': ' 嘉应学院医学院(西南门)...   \n",
       "1   [{'id': ' B02F10QAOI ', 'name': ' 梅州市理工学校天子岌校区...   \n",
       "2   [{'id': ' B02F103JSK ', 'name': ' 嘉应学院江南校区(西北门...   \n",
       "3   [{'id': ' B02F10RZF2 ', 'name': ' 梅州市理工学校尧排校区(...   \n",
       "4                                                  []   \n",
       "5   [{'id': ' B0FFG7WL27 ', 'name': ' 梅州市老干部大学(南门)...   \n",
       "6                                                  []   \n",
       "7                                                  []   \n",
       "8                                                  []   \n",
       "9   [{'id': ' B0FFJ8VFCX ', 'name': ' 嘉应学院(北门) ', ...   \n",
       "10  [{'id': ' B0FFG852G3 ', 'name': ' 梅州梅江开放大学(西北1...   \n",
       "11                                                 []   \n",
       "12                                                 []   \n",
       "13                                                 []   \n",
       "14                                                 []   \n",
       "15                                                 []   \n",
       "16  [{'id': ' B0FFK5BVKL ', 'name': ' 嘉应学院梅州师范分院(北...   \n",
       "17                                                 []   \n",
       "18                                                 []   \n",
       "19                                                 []   \n",
       "\n",
       "                                               photos indoor_data.cpid  \\\n",
       "0   [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "1                                                  []               []   \n",
       "2   [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "3                                                  []               []   \n",
       "4                                                  []               []   \n",
       "5   [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "6   [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "7                                                  []               []   \n",
       "8   [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "9   [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "10                                                 []               []   \n",
       "11                                                 []               []   \n",
       "12                                                 []               []   \n",
       "13                                                 []               []   \n",
       "14                                                 []               []   \n",
       "15                                                 []               []   \n",
       "16  [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "17  [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "18                                                 []               []   \n",
       "19  [{'title': [], 'url': 'http://store.is.autonav...               []   \n",
       "\n",
       "   indoor_data.floor indoor_data.truefloor indoor_data.cmsid biz_ext.rating  \\\n",
       "0                 []                    []                []             []   \n",
       "1                 []                    []                []            3.0   \n",
       "2                 []                    []                []             []   \n",
       "3                 []                    []                []             []   \n",
       "4                 []                    []                []             []   \n",
       "5                 []                    []                []             []   \n",
       "6                 []                    []                []             []   \n",
       "7                 []                    []                []             []   \n",
       "8                 []                    []                []             []   \n",
       "9                 []                    []                []            3.0   \n",
       "10                []                    []                []             []   \n",
       "11                []                    []                []             []   \n",
       "12                []                    []                []             []   \n",
       "13                []                    []                []             []   \n",
       "14                []                    []                []             []   \n",
       "15                []                    []                []             []   \n",
       "16                []                    []                []             []   \n",
       "17                []                    []                []             []   \n",
       "18                []                    []                []             []   \n",
       "19                []                    []                []             []   \n",
       "\n",
       "   biz_ext.cost  \n",
       "0            []  \n",
       "1            []  \n",
       "2            []  \n",
       "3            []  \n",
       "4            []  \n",
       "5            []  \n",
       "6            []  \n",
       "7            []  \n",
       "8            []  \n",
       "9            []  \n",
       "10           []  \n",
       "11           []  \n",
       "12           []  \n",
       "13           []  \n",
       "14           []  \n",
       "15           []  \n",
       "16           []  \n",
       "17           []  \n",
       "18           []  \n",
       "19           []  \n",
       "\n",
       "[20 rows x 46 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def place_text(keywords,types,city=None,citylimit=None,children=None,page=None,extensions='base',sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/place/text?parameters'\n",
    "    params={\n",
    "        'key':key_cr,\n",
    "        'keywords':keywords,\n",
    "        'types':types,\n",
    "        'city':city,\n",
    "        'citylimit':citylimit,\n",
    "        'children':children,\n",
    "        'page':page,\n",
    "        'extensions':extensions,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "梅州_中学 = place_text(keywords=None,types='高等院校',city=\"梅州市\",children=1,extensions='all')\n",
    "梅州_中学\n",
    "df_梅州_中学 = pd.json_normalize(梅州_中学[\"pois\"])\n",
    "df_梅州_中学"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>parent</th>\n",
       "      <th>childtype</th>\n",
       "      <th>name</th>\n",
       "      <th>type</th>\n",
       "      <th>typecode</th>\n",
       "      <th>biz_type</th>\n",
       "      <th>address</th>\n",
       "      <th>location</th>\n",
       "      <th>tel</th>\n",
       "      <th>distance</th>\n",
       "      <th>biz_ext</th>\n",
       "      <th>importance</th>\n",
       "      <th>shopid</th>\n",
       "      <th>shopinfo</th>\n",
       "      <th>poiweight</th>\n",
       "      <th>photos</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B0FFH9S32K</td>\n",
       "      <td>B02F103D79</td>\n",
       "      <td>309</td>\n",
       "      <td>丰顺中学宿舍区</td>\n",
       "      <td>商务住宅;住宅区;宿舍</td>\n",
       "      <td>120303</td>\n",
       "      <td>[]</td>\n",
       "      <td>市政大道西150米</td>\n",
       "      <td>116.180326,23.743296</td>\n",
       "      <td>[]</td>\n",
       "      <td>99</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B0FFHOYB52</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>顺丰速运</td>\n",
       "      <td>生活服务;物流速递;物流速递</td>\n",
       "      <td>070500</td>\n",
       "      <td>[]</td>\n",
       "      <td>市政大道丰顺中学前锦江街2-49号</td>\n",
       "      <td>116.182190,23.742550</td>\n",
       "      <td>95338</td>\n",
       "      <td>164</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>B0FFFSCT9E</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>中通快递</td>\n",
       "      <td>生活服务;物流速递;物流速递</td>\n",
       "      <td>070500</td>\n",
       "      <td>[]</td>\n",
       "      <td>锦江街2-49号(丰顺中学对面)</td>\n",
       "      <td>116.182257,23.742689</td>\n",
       "      <td>95311</td>\n",
       "      <td>173</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>B0FFIL20H8</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>包大头(丰顺中学店)</td>\n",
       "      <td>餐饮服务;快餐厅;快餐厅</td>\n",
       "      <td>050300</td>\n",
       "      <td>diner</td>\n",
       "      <td>汤坑镇丰源路融景湾小区第五栋A17(现市政大道2-50号)</td>\n",
       "      <td>116.182254,23.742710</td>\n",
       "      <td>13726668590</td>\n",
       "      <td>173</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>B0FFI6NYAH</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>申通快递(丰顺中学营业部)</td>\n",
       "      <td>生活服务;物流速递;物流速递</td>\n",
       "      <td>070500</td>\n",
       "      <td>[]</td>\n",
       "      <td>市政大道a-26号附近</td>\n",
       "      <td>116.182265,23.742648</td>\n",
       "      <td>95543</td>\n",
       "      <td>173</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>B0FFHLW6SA</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>老潮农家快餐</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>汤坑镇丰源路融景影湾小区第五栋A19号(丰顺中学大门正对面)</td>\n",
       "      <td>116.182270,23.742614</td>\n",
       "      <td>17820346039</td>\n",
       "      <td>173</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>B0FFGYKH3O</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>圆通速递</td>\n",
       "      <td>生活服务;物流速递;物流速递</td>\n",
       "      <td>070500</td>\n",
       "      <td>[]</td>\n",
       "      <td>市政大道与锦江街交叉口北100米</td>\n",
       "      <td>116.182270,23.742620</td>\n",
       "      <td>95554</td>\n",
       "      <td>173</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>B0FFGYAHZD</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>韵达快递</td>\n",
       "      <td>生活服务;物流速递;物流速递</td>\n",
       "      <td>070500</td>\n",
       "      <td>[]</td>\n",
       "      <td>锦江街b22号附近</td>\n",
       "      <td>116.182270,23.742621</td>\n",
       "      <td>95546</td>\n",
       "      <td>173</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>B0FFKPHIBF</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>大食八</td>\n",
       "      <td>餐饮服务;快餐厅;快餐厅</td>\n",
       "      <td>050300</td>\n",
       "      <td>diner</td>\n",
       "      <td>汤坑镇丰源路融景湾小区第5栋A16号(现市政大道51号)</td>\n",
       "      <td>116.182251,23.742732</td>\n",
       "      <td>13828184528</td>\n",
       "      <td>173</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>B0FFJ36J73</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>华祥食店</td>\n",
       "      <td>餐饮服务;快餐厅;快餐厅</td>\n",
       "      <td>050300</td>\n",
       "      <td>diner</td>\n",
       "      <td>市政大道A46号</td>\n",
       "      <td>116.182276,23.742579</td>\n",
       "      <td>13539193972</td>\n",
       "      <td>173</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>B0FFI8YC1X</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>等风来</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>汤坑镇丰源路融景湾小区第七栋2号</td>\n",
       "      <td>116.182279,23.742556</td>\n",
       "      <td>13825934180</td>\n",
       "      <td>173</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>B0FFGYMOB1</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>中国移动(校园通讯特约代理点)</td>\n",
       "      <td>生活服务;电讯营业厅;中国移动营业厅</td>\n",
       "      <td>070603</td>\n",
       "      <td>[]</td>\n",
       "      <td>市政大道与锦江街交叉口北100米</td>\n",
       "      <td>116.182283,23.742534</td>\n",
       "      <td>[]</td>\n",
       "      <td>174</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>B0FFLJKV4V</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>晨记小吃店</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>汤坑镇丰顺中学对面</td>\n",
       "      <td>116.182232,23.742842</td>\n",
       "      <td>[]</td>\n",
       "      <td>174</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>B0FFK9LDCE</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>168便当</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>汤坑镇丰源路融景湾小区第三幢A14号</td>\n",
       "      <td>116.182228,23.742864</td>\n",
       "      <td>18312857881</td>\n",
       "      <td>174</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>B0FFLJLMU9</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>欢乐佳焙</td>\n",
       "      <td>餐饮服务;糕饼店;糕饼店</td>\n",
       "      <td>050800</td>\n",
       "      <td>diner</td>\n",
       "      <td>汤坑镇丰顺中学正对面</td>\n",
       "      <td>116.182294,23.742472</td>\n",
       "      <td>19126936686</td>\n",
       "      <td>174</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>1</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>B0FFLLQVUJ</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>怪兽充电(乐茶道旗舰店)</td>\n",
       "      <td>生活服务;共享设备;充电宝</td>\n",
       "      <td>072101</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>116.182218,23.742929</td>\n",
       "      <td>[]</td>\n",
       "      <td>175</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>B0FFLKR7BS</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>街电(乐茶道旗舰店)</td>\n",
       "      <td>生活服务;共享设备;充电宝</td>\n",
       "      <td>072101</td>\n",
       "      <td>[]</td>\n",
       "      <td>汤坑镇新世纪路丰顺中学斜对面</td>\n",
       "      <td>116.182218,23.742929</td>\n",
       "      <td>[]</td>\n",
       "      <td>175</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>B0FFLJLMZI</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>乐茶道旗舰店</td>\n",
       "      <td>餐饮服务;冷饮店;冷饮店</td>\n",
       "      <td>050700</td>\n",
       "      <td>diner</td>\n",
       "      <td>汤坑镇新世纪路丰顺中学斜对面</td>\n",
       "      <td>116.182218,23.742929</td>\n",
       "      <td>[]</td>\n",
       "      <td>175</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>B0FFFVB1WZ</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>好运来隆江猪脚饭(丰顺中学店)</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>市政大道锦江花园A26号</td>\n",
       "      <td>116.182311,23.742371</td>\n",
       "      <td>15218085195</td>\n",
       "      <td>176</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>B0FFJJ90LA</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>魔法蛋糕</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>汤坑镇丰源路融景湾小区3栋A11号(现市政大道2-57号)</td>\n",
       "      <td>116.182199,23.743038</td>\n",
       "      <td>13559716668</td>\n",
       "      <td>178</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            id      parent childtype             name                type  \\\n",
       "0   B0FFH9S32K  B02F103D79       309          丰顺中学宿舍区         商务住宅;住宅区;宿舍   \n",
       "1   B0FFHOYB52          []        []             顺丰速运      生活服务;物流速递;物流速递   \n",
       "2   B0FFFSCT9E          []        []             中通快递      生活服务;物流速递;物流速递   \n",
       "3   B0FFIL20H8          []        []       包大头(丰顺中学店)        餐饮服务;快餐厅;快餐厅   \n",
       "4   B0FFI6NYAH          []        []    申通快递(丰顺中学营业部)      生活服务;物流速递;物流速递   \n",
       "5   B0FFHLW6SA          []        []           老潮农家快餐        餐饮服务;中餐厅;中餐厅   \n",
       "6   B0FFGYKH3O          []        []             圆通速递      生活服务;物流速递;物流速递   \n",
       "7   B0FFGYAHZD          []        []             韵达快递      生活服务;物流速递;物流速递   \n",
       "8   B0FFKPHIBF          []        []              大食八        餐饮服务;快餐厅;快餐厅   \n",
       "9   B0FFJ36J73          []        []             华祥食店        餐饮服务;快餐厅;快餐厅   \n",
       "10  B0FFI8YC1X          []        []              等风来    餐饮服务;餐饮相关场所;餐饮相关   \n",
       "11  B0FFGYMOB1          []        []  中国移动(校园通讯特约代理点)  生活服务;电讯营业厅;中国移动营业厅   \n",
       "12  B0FFLJKV4V          []        []            晨记小吃店        餐饮服务;中餐厅;中餐厅   \n",
       "13  B0FFK9LDCE          []        []            168便当        餐饮服务;中餐厅;中餐厅   \n",
       "14  B0FFLJLMU9          []        []             欢乐佳焙        餐饮服务;糕饼店;糕饼店   \n",
       "15  B0FFLLQVUJ          []        []     怪兽充电(乐茶道旗舰店)       生活服务;共享设备;充电宝   \n",
       "16  B0FFLKR7BS          []        []       街电(乐茶道旗舰店)       生活服务;共享设备;充电宝   \n",
       "17  B0FFLJLMZI          []        []           乐茶道旗舰店        餐饮服务;冷饮店;冷饮店   \n",
       "18  B0FFFVB1WZ          []        []  好运来隆江猪脚饭(丰顺中学店)        餐饮服务;中餐厅;中餐厅   \n",
       "19  B0FFJJ90LA          []        []             魔法蛋糕    餐饮服务;餐饮相关场所;餐饮相关   \n",
       "\n",
       "   typecode biz_type                         address              location  \\\n",
       "0    120303       []                       市政大道西150米  116.180326,23.743296   \n",
       "1    070500       []               市政大道丰顺中学前锦江街2-49号  116.182190,23.742550   \n",
       "2    070500       []                锦江街2-49号(丰顺中学对面)  116.182257,23.742689   \n",
       "3    050300    diner   汤坑镇丰源路融景湾小区第五栋A17(现市政大道2-50号)  116.182254,23.742710   \n",
       "4    070500       []                     市政大道a-26号附近  116.182265,23.742648   \n",
       "5    050100    diner  汤坑镇丰源路融景影湾小区第五栋A19号(丰顺中学大门正对面)  116.182270,23.742614   \n",
       "6    070500       []                市政大道与锦江街交叉口北100米  116.182270,23.742620   \n",
       "7    070500       []                       锦江街b22号附近  116.182270,23.742621   \n",
       "8    050300    diner    汤坑镇丰源路融景湾小区第5栋A16号(现市政大道51号)  116.182251,23.742732   \n",
       "9    050300    diner                        市政大道A46号  116.182276,23.742579   \n",
       "10   050000    diner                汤坑镇丰源路融景湾小区第七栋2号  116.182279,23.742556   \n",
       "11   070603       []                市政大道与锦江街交叉口北100米  116.182283,23.742534   \n",
       "12   050100    diner                       汤坑镇丰顺中学对面  116.182232,23.742842   \n",
       "13   050100    diner              汤坑镇丰源路融景湾小区第三幢A14号  116.182228,23.742864   \n",
       "14   050800    diner                      汤坑镇丰顺中学正对面  116.182294,23.742472   \n",
       "15   072101       []                              []  116.182218,23.742929   \n",
       "16   072101       []                  汤坑镇新世纪路丰顺中学斜对面  116.182218,23.742929   \n",
       "17   050700    diner                  汤坑镇新世纪路丰顺中学斜对面  116.182218,23.742929   \n",
       "18   050100    diner                    市政大道锦江花园A26号  116.182311,23.742371   \n",
       "19   050000    diner   汤坑镇丰源路融景湾小区3栋A11号(现市政大道2-57号)  116.182199,23.743038   \n",
       "\n",
       "            tel distance biz_ext importance shopid shopinfo poiweight photos  \n",
       "0            []       99      []         []     []        0        []     []  \n",
       "1         95338      164      []         []     []        0        []     []  \n",
       "2         95311      173      []         []     []        0        []     []  \n",
       "3   13726668590      173      []         []     []        0        []     []  \n",
       "4         95543      173      []         []     []        0        []     []  \n",
       "5   17820346039      173      []         []     []        0        []     []  \n",
       "6         95554      173      []         []     []        0        []     []  \n",
       "7         95546      173      []         []     []        0        []     []  \n",
       "8   13828184528      173      []         []     []        0        []     []  \n",
       "9   13539193972      173      []         []     []        0        []     []  \n",
       "10  13825934180      173      []         []     []        0        []     []  \n",
       "11           []      174      []         []     []        0        []     []  \n",
       "12           []      174      []         []     []        0        []     []  \n",
       "13  18312857881      174      []         []     []        0        []     []  \n",
       "14  19126936686      174      []         []     []        1        []     []  \n",
       "15           []      175      []         []     []        0        []     []  \n",
       "16           []      175      []         []     []        0        []     []  \n",
       "17           []      175      []         []     []        0        []     []  \n",
       "18  15218085195      176      []         []     []        0        []     []  \n",
       "19  13559716668      178      []         []     []        0        []     []  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def place_around(location,keywords=None,types=None,city=None,redius=None,sortrule=None,offset=None,page=None,extensions='base',sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/place/around?parameters'\n",
    "    params={\n",
    "        'key':key_cr,\n",
    "        'keywords':keywords,\n",
    "        'location':location,\n",
    "        'types':types,\n",
    "        'city':city,\n",
    "        'redius':redius,\n",
    "        'sortrule':sortrule,\n",
    "        'offset':offset,\n",
    "        'page':page,\n",
    "        'extensions':extensions,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "丰顺中学POI = place_around(丰顺中学_location)\n",
    "df_丰顺中学POI = pd.json_normalize(丰顺中学POI['pois'])\n",
    "df_丰顺中学POI\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## IP定位"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*专家系统*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'province': '北京市',\n",
       " 'city': '北京市',\n",
       " 'adcode': '110000',\n",
       " 'rectangle': '116.0119343,39.66127144;116.7829835,40.2164962'}"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def parameters(ip=\"114.247.50.2\",sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/ip?parameters'\n",
    "    params={\n",
    "        'key':key_cr,\n",
    "        'ip':ip,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "ip地址= parameters(ip='114.247.50.2')\n",
    "ip地址"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 批量请求接口"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*推荐算法1*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'status': 200,\n",
       "  'body': {'suggestion': {'keywords': {}, 'cities': {}},\n",
       "   'info': 'OK',\n",
       "   'status': '1',\n",
       "   'count': '888',\n",
       "   'pois': [{'typecode': '080000',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFKKSDDS',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.511528,39.270463',\n",
       "     'distance': '1082',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': {},\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '李庄子村兰阳草莓采摘园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080501',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFJM772Z',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.513958,39.270648',\n",
       "     'distance': '1205',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '永清镇北辛溜附近',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;休闲场所;游乐场',\n",
       "     'shopinfo': '0',\n",
       "     'name': '儿童乐园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080503',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B013C16BMA',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.480285,39.291357',\n",
       "     'distance': '2509',\n",
       "     'tel': '13363650160',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '永金一桥东500米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/3e517731940c4684ee94acdfb8c39b26',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/8eb4c3eb92489cb32cafa17205dc0112',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/163f3273c7c60016197a2e7912df53df',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;休闲场所;采摘园',\n",
       "     'shopinfo': '0',\n",
       "     'name': '开心草莓采摘园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080501',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLPYFW5',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.496816,39.302615',\n",
       "     'distance': '2785',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路225东北100米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;休闲场所;游乐场',\n",
       "     'shopinfo': '0',\n",
       "     'name': 'DIY儿童乐园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080603',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLAIP6H',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.496230,39.303248',\n",
       "     'distance': '2865',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'seat_ordering': '0', 'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;影剧院;剧场',\n",
       "     'shopinfo': '0',\n",
       "     'name': '向阳禾理想城梦剧场',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080308',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B013C0IMLS',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.496593,39.304251',\n",
       "     'distance': '2967',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': '3.5', 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路179号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/af47a5f4f741f6a3ad170e226f856b92',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;娱乐场所;网吧',\n",
       "     'shopinfo': '0',\n",
       "     'name': '梦想网吧(益昌南路店)',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080119',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFMDQ6D7',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.493187,39.304274',\n",
       "     'distance': '3045',\n",
       "     'tel': '13141201944',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '武隆南路宏益街',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/0fb1662d06ad761b51070fe0ca4c26c5',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;运动场馆;跆拳道场馆',\n",
       "     'shopinfo': '1',\n",
       "     'name': '龙圣跆拳道馆',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080000',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFJQZNZW',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.497741,39.309459',\n",
       "     'distance': '3519',\n",
       "     'tel': '15210485655',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路268号新旺小区门口',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/67416ad37c69db61c270016fa6f430cc',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/d89fd2e7d4b62cba6187c87cc838bb89',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/dbaae4d6ace1004675ce4f252088ffe6',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '1',\n",
       "     'name': '熙瑞国际游泳健身会所',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080113',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFM4EHTE',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.495838,39.309940',\n",
       "     'distance': '3600',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': {},\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;运动场馆;台球厅',\n",
       "     'shopinfo': '0',\n",
       "     'name': 'K9台球',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080308',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFJKVFLQ',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.497249,39.310649',\n",
       "     'distance': '3656',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌中路与益昌南路交叉口西南50米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;娱乐场所;网吧',\n",
       "     'shopinfo': '0',\n",
       "     'name': '网咖',\n",
       "     'childtype': {}}],\n",
       "   'infocode': '10000'},\n",
       "  'header': {'gsid': '011131176177158755543716300019847205864',\n",
       "   'Vary': 'Accept-Encoding',\n",
       "   'Content-Type': 'application/json;charset=UTF-8',\n",
       "   'Access-Control-Allow-Methods': '*',\n",
       "   'Access-Control-Allow-Origin': '*',\n",
       "   'sc': '0.145',\n",
       "   'Content-Length': 5294,\n",
       "   'Access-Control-Allow-Headers': 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,key,x-biz,x-info,platinfo,encr,enginever,gzipped,poiid',\n",
       "   'X-Powered-By': 'ring/1.0.0'}},\n",
       " {'status': 200,\n",
       "  'body': {'suggestion': {'keywords': {}, 'cities': {}},\n",
       "   'info': 'OK',\n",
       "   'status': '1',\n",
       "   'count': '878',\n",
       "   'pois': [{'typecode': '080000',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFIT4V37',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.509300,39.261324',\n",
       "     'distance': '1935',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '昌丰路与昌盛街交叉口东150米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '利民老年公寓',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080500',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFM1WN4Q',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.473800,39.284305',\n",
       "     'distance': '2684',\n",
       "     'tel': '13102692203;15032998415',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '永丰路与建设大街交叉口北行200米再东行200米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/02f9a9353f15bb7c882c281addaca79a',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/462da2324343c04c255e5b6b55403952',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/dfc87db906b2994dae80342d4563b1e9',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;休闲场所;休闲场所',\n",
       "     'shopinfo': '1',\n",
       "     'name': '唐山兵途枪战运动',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080301',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFF2T193',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.471098,39.281979',\n",
       "     'distance': '2861',\n",
       "     'tel': '0315-8037777',\n",
       "     'biz_ext': {'rating': '4.3', 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '建设大街与永丰路交叉口西南角',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/c8fd0a18befbe849ce8df7908d88ed24',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/468baaf5453e6c1b38d0c4c417183b40',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/a0a5fff0b63e60b3508c2ecb197d07e5',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;娱乐场所;夜总会',\n",
       "     'shopinfo': '0',\n",
       "     'name': '一代佳人夜总会',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080000',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFKPS8TZ',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.471344,39.273170',\n",
       "     'distance': '2864',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '垦丰大街与永丰路交叉口南50米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '新少年跆拳道馆',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080402',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B013B031EO',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.469256,39.278622',\n",
       "     'distance': '2989',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '曙光街23号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;度假疗养场所;疗养院',\n",
       "     'shopinfo': '0',\n",
       "     'name': '光荣院(曙光街)',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080500',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFHF91Y9',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.467429,39.273141',\n",
       "     'distance': '3196',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '垦丰大街8号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;休闲场所;休闲场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '曹妃甸区老干部活动中心',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080119',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLDK6TP',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.466867,39.281969',\n",
       "     'distance': '3222',\n",
       "     'tel': '17736580504',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '建设大街红赫世家东底商58号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/b59e23956de23e47401416a6b4808c0c',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;运动场馆;跆拳道场馆',\n",
       "     'shopinfo': '0',\n",
       "     'name': '泽仁跆拳道',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080000',\n",
       "     'adname': '滦南县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFH9MB8R',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.527757,39.301926',\n",
       "     'distance': '3343',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '杨柏线北50米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '陶乐宝儿童乐园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080304',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLOR4DN',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.466494,39.287701',\n",
       "     'distance': '3395',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '青年城二期东底商24号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/29997dd7b0c66b1dc6f15a253918ccf2',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/098df33a76f03e8d55672683f63da5d8',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;娱乐场所;酒吧',\n",
       "     'shopinfo': '1',\n",
       "     'name': 'ELK酒吧',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080113',\n",
       "     'adname': '滦南县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFMB6BAG',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.528670,39.302678',\n",
       "     'distance': '3457',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': {},\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;运动场馆;台球厅',\n",
       "     'shopinfo': '0',\n",
       "     'name': '下午时光台球俱乐部',\n",
       "     'childtype': {}}],\n",
       "   'infocode': '10000'},\n",
       "  'header': {'gsid': '011131176177158755543716300019847205864',\n",
       "   'Vary': 'Accept-Encoding',\n",
       "   'Content-Type': 'application/json;charset=UTF-8',\n",
       "   'Access-Control-Allow-Methods': '*',\n",
       "   'Access-Control-Allow-Origin': '*',\n",
       "   'sc': '0.123',\n",
       "   'Content-Length': 5564,\n",
       "   'Access-Control-Allow-Headers': 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,key,x-biz,x-info,platinfo,encr,enginever,gzipped,poiid',\n",
       "   'X-Powered-By': 'ring/1.0.0'}}]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def batch():\n",
    "    url = 'https://restapi.amap.com/v3/batch?key=551173cc6b480702a39751e57d0dd9d2'\n",
    "    headers = {\n",
    "        'Content-Type': 'application/json',\n",
    "    }\n",
    "    params={\n",
    "    \"ops\": [\n",
    "        {\n",
    "            \"url\": \"/v3/place/around?offset=10&page=1&key=551173cc6b480702a39751e57d0dd9d2&location=116.50394379585519,39.278209477408794&output=json&radius=100000&types=080000\"\n",
    "        },\n",
    "        {\n",
    "            \"url\": \"/v3/place/around?offset=10&page=1&key=551173cc6b480702a39751e57d0dd9d2&location=118.50394379585519,39.278209477408794&output=json&radius=100000&types=080000\"\n",
    "        }\n",
    "    ]\n",
    "}\n",
    "    response = requests.get(url,json=params,headers=headers)\n",
    "    data = response.json()\n",
    "    return data\n",
    "batch()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<function __main__.batch()>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "string_url=batch\n",
    "string_url"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 静态地图"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*计算机视觉、图像识别*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<PIL.PngImagePlugin.PngImageFile image mode=P size=400x400 at 0x25C4E9B4BE0>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from PIL import Image\n",
    "from io import BytesIO\n",
    "def staticmap(location,zoom,size=None,scale=1,markers=None,labels=None,paths=None,traffic=0,page=None,sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/staticmap?parameters'\n",
    "    params={\n",
    "        'key':key_cr,\n",
    "        'location':location,\n",
    "        'zoom':zoom,\n",
    "        'size':size,\n",
    "        'scale':scale,\n",
    "        'markers':markers,\n",
    "        'labels':labels,\n",
    "        'paths':paths,\n",
    "        'traffic':traffic,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = Image.open(BytesIO(response.content))\n",
    "    return data\n",
    "staticmap(location=丰顺中学_location,zoom=13)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 坐标转换"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "def coordinate(locations=None,coordsys=None,sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/assistant/coordinate/convert?parameters'\n",
    "    params={\n",
    "        'key':key_cr,\n",
    "        'locations':locations,\n",
    "        'coordsys':coordsys,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'ok',\n",
       " 'infocode': '10000',\n",
       " 'locations': '116.487585177952,39.991754014757;116.487585177952,39.991653917101'}"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "转换= coordinate(locations='116.481499,39.990475|116.481499,39.990375',coordsys='gps')\n",
    "转换"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 天气查询"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*自然语言的处理*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "def weatherInfo(city=None,extensions=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/weather/weatherInfo?parameters'\n",
    "    params={\n",
    "        'key':key_cr,\n",
    "        'city':city,\n",
    "        'extensions':extensions,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'count': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'lives': [{'province': '北京',\n",
       "   'city': '东城区',\n",
       "   'adcode': '110101',\n",
       "   'weather': '晴',\n",
       "   'temperature': '12',\n",
       "   'winddirection': '西北',\n",
       "   'windpower': '4',\n",
       "   'humidity': '17',\n",
       "   'reporttime': '2020-04-22 19:28:34'}]}"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "天气= weatherInfo(city='110101')\n",
    "天气"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 输入提示"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*推荐算法、自然语言处理、机器学习*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "def inputtip(keywords,type=None,location=None,city=None,datatype=all)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/assistant/inputtips?parameters'\n",
    "    params={\n",
    "        'key':key_cr,\n",
    "        'keywords':keywords,\n",
    "        'type':type,\n",
    "        'location':location,\n",
    "        'city':city,\n",
    "        'datatype':datatype,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'count': '10',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'tips': [{'id': 'B00140UERJ',\n",
       "   'name': '广东省人民医院',\n",
       "   'district': '广东省广州市越秀区',\n",
       "   'adcode': '440104',\n",
       "   'location': '113.287241,23.125123',\n",
       "   'address': '中山二路106号',\n",
       "   'typecode': '090101',\n",
       "   'city': []},\n",
       "  {'id': 'B00140U136',\n",
       "   'name': '广东省中医院',\n",
       "   'district': '广东省广州市越秀区',\n",
       "   'adcode': '440104',\n",
       "   'location': '113.256554,23.118118',\n",
       "   'address': '大德路111号',\n",
       "   'typecode': '090101',\n",
       "   'city': []},\n",
       "  {'id': 'B00140201C',\n",
       "   'name': '广州中医药大学第一附属医院',\n",
       "   'district': '广东省广州市白云区',\n",
       "   'adcode': '440111',\n",
       "   'location': '113.264533,23.157282',\n",
       "   'address': '机场路16号',\n",
       "   'typecode': '090101',\n",
       "   'city': []},\n",
       "  {'id': 'B001406B45',\n",
       "   'name': '广东省中医院天河门诊部',\n",
       "   'district': '广东省广州市天河区',\n",
       "   'adcode': '440106',\n",
       "   'location': '113.334301,23.130201',\n",
       "   'address': '天河东路60号华侨友谊酒店斜对面',\n",
       "   'typecode': '090300|090100',\n",
       "   'city': []},\n",
       "  {'id': 'B0FFF5UY3V',\n",
       "   'name': '中山大学附属第三医院',\n",
       "   'district': '广东省广州市天河区',\n",
       "   'adcode': '440106',\n",
       "   'location': '113.341196,23.134211',\n",
       "   'address': '天河路600号',\n",
       "   'typecode': '090101',\n",
       "   'city': []},\n",
       "  {'id': 'B00140JG50',\n",
       "   'name': '广东省第二人民医院',\n",
       "   'district': '广东省广州市海珠区',\n",
       "   'adcode': '440105',\n",
       "   'location': '113.333786,23.094545',\n",
       "   'address': '新港中路466号',\n",
       "   'typecode': '090101',\n",
       "   'city': []},\n",
       "  {'id': 'B00141KAB8',\n",
       "   'name': '武警广东省总队医院',\n",
       "   'district': '广东省广州市天河区',\n",
       "   'adcode': '440106',\n",
       "   'location': '113.33209,23.162846',\n",
       "   'address': '燕岭路268号',\n",
       "   'typecode': '090101',\n",
       "   'city': []},\n",
       "  {'id': 'B00140382F',\n",
       "   'name': '暨南大学附属第一医院',\n",
       "   'district': '广东省广州市天河区',\n",
       "   'adcode': '440106',\n",
       "   'location': '113.350552,23.126178',\n",
       "   'address': '黄埔大道西613号',\n",
       "   'typecode': '090101',\n",
       "   'city': []},\n",
       "  {'id': 'B0014014B9',\n",
       "   'name': '广州市白云区第一人民医院',\n",
       "   'district': '广东省广州市白云区',\n",
       "   'adcode': '440111',\n",
       "   'location': '113.261833,23.189029',\n",
       "   'address': '机场路1128号',\n",
       "   'typecode': '090100',\n",
       "   'city': []},\n",
       "  {'id': 'B00140U89D',\n",
       "   'name': '南方医科大学第三附属医院',\n",
       "   'district': '广东省广州市天河区',\n",
       "   'adcode': '440106',\n",
       "   'location': '113.36284,23.13457',\n",
       "   'address': '中山大道西183号',\n",
       "   'typecode': '090101',\n",
       "   'city': []}]}"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "输入提示=inputtip(keywords='医院',city='广州',datatype=all)\n",
    "输入提示"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 交通态势"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*计算机视觉、专家系统*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "def status(rectangle=None,level=5,sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/traffic/status/rectangle?parameters'\n",
    "    params={\n",
    "        'key':key_cr,\n",
    "        'rectangle':rectangle,\n",
    "        'level':level,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'trafficinfo': {'description': '京藏高速：马甸桥附近出京方向行驶缓慢。',\n",
       "  'evaluation': {'expedite': '92.86%',\n",
       "   'congested': '7.14%',\n",
       "   'blocked': '0.00%',\n",
       "   'unknown': '0.00%',\n",
       "   'status': '2',\n",
       "   'description': '轻度拥堵'}}}"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "北京三环交通=status(rectangle='116.351147,39.966309;116.357134,39.968727')\n",
    "北京三环交通"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 地理围栏"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*计算机实现智能的原理、专家系统、机器学习、图像识别*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'data': {'message': '新增围栏已存在', 'status': '106'},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def creat_wl(name,center,radius,repeat='Mon',)->dict:\n",
    "    url = 'https://restapi.amap.com/v4/geofence/meta?key=317b2b98b27b266839553f10debb9b0f'\n",
    "    params={\n",
    "        'name':name,\n",
    "        'center':center,\n",
    "        'radius':radius,\n",
    "        'repeat':repeat,\n",
    "    }\n",
    "    response = requests.post(url,json=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "creat_wl('测试围栏','115.672126,38.817129',100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 轨迹纠偏"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*计算机视觉、机器学习*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'data': {'distance': 23.0,\n",
       "  'points': [{'x': 116.44943208825043, 'y': 40.01474429256184},\n",
       "   {'x': 116.449458182449, 'y': 40.0145304056883}]},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def correct_error()->dict:\n",
    "    url = 'https://restapi.amap.com/v4/grasproad/driving?key=317b2b98b27b266839553f10debb9b0f'\n",
    "    params=[{\n",
    "\"x\": 116.449428,\n",
    "\"y\": 40.014744,\n",
    "\"sp\": 5,\n",
    "\"ag\": 110,\n",
    "\"tm\": 1478831754\n",
    "}, {\n",
    "\"x\": 116.449639,\n",
    "\"y\": 40.014778,\n",
    "\"sp\": 3,\n",
    "\"ag\": 110,\n",
    "\"tm\": 20\n",
    "}, {\n",
    "\"x\": 116.449869,\n",
    "\"y\": 40.014716,\n",
    "\"sp\": 3,\n",
    "\"ag\": 109,\n",
    "\"tm\": 35\n",
    "}, {\n",
    "\"x\": 116.450074,\n",
    "\"y\": 40.014658,\n",
    "\"sp\": 3,\n",
    "\"ag\": 110,\n",
    "\"tm\": 36\n",
    "}, {\n",
    "\"x\": 116.450273,\n",
    "\"y\": 40.014598,\n",
    "\"sp\": 2,\n",
    "\"ag\": 111,\n",
    "\"tm\": 26\n",
    "}, {\n",
    "\"x\": 116.450263,\n",
    "\"y\": 40.014588,\n",
    "\"sp\": 2,\n",
    "\"ag\": 109,\n",
    "\"tm\": 18\n",
    "}]\n",
    "    response = requests.post(url,json=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "correct_error()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 应用设计"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**设计产品的主要功能为：记录所标记的地点。**\n",
    "\n",
    "用户可以通过产品标记想去的地点，例如日益丰富的旅游景点、众多的网红打卡圣地等，应用可以推送相关的信息服务\n",
    "\n",
    "**所用API功能为：路径规划、搜索POI、静态地图、天气查询、输入提示、交通态势。**\n",
    "\n",
    "使用方法：用户输入提示得到相关地点资讯，得到路径信息、周边信息，对地点进行收藏；当用户出发前往地点时，推送当地天气状况、路况，并得到路经指引。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "320px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
